package com.authine.cloudpivot.ext.dto;

import com.authine.cloudpivot.ext.Enum.BillType;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * @Author: liwei
 * @DateTime: 2021/7/28
 * @Description:
 */

@Data
@Schema(description = "服务费发票核销账单信息")
public class BillFeeDto {

    private String id;

    @Schema(description = "交易id")
    private String trade_id;

    /**
     * 参考ID （e.g 当前是服务费账单时该id就是对应哪笔账单产生的服务费账单）
     */
    @Schema(description = "当前是服务费账单时该id就是对应哪笔账单产生的服务费账单")
    private String reference_id;
    /**
     * 客户订单ID
     */
    @Schema(description = "客户订单ID")
    private String customer_order_id;
    /**
     * 供应商订单ID
     */
    @Schema(description = "供应商订单ID")
    private String vendor_order_id;
    /**
     * 订单商品ID
     */
    @Schema(description = "订单商品ID")
    private String order_goods_id;
    /**
     * 客户或供应商组织ID
     */
    @Schema(description = "客户或供应商组织ID")
    private String organization_id;
    /**
     * 账单类型
     */
    @Schema(description = "账单类型")
    private BillType type;
    /**
     * 账单日期
     */
    @Schema(description = "账单日期")
    private Date bill_date;
    /**
     * 客户或供应商组织全称
     */
    @Schema(description = "客户或供应商组织全称")
    private String organization_name;
    /**
     * 小计
     */
    @Schema(description = "小计")
    private BigDecimal total;
    /**
     * 税率
     */
    @Schema(description = "税率")
    private BigDecimal tax_rate;
    /**
     * 对应货物发票号码
     */
    @Schema(description = "对应货物发票号码")
    private String goods_invoice_number;
    /**
     * 付款申请单号
     */
    @Schema(description = "付款申请单号")
    private String settle_id;
    /**
     * 结算金额
     */
    @Schema(description = "结算金额")
    private BigDecimal settle_total;
    /**
     * 付款时间
     */
    @Schema(description = "付款时间")
    private Date settle_time;

}
